1. Technical Field
The present invention relates to solid state disks, and more particularly to solid state disk memory management to improve performance and endurance.
2. Description of Related Art
With the evolution of applications that process large amounts of data (e.g., BigData Analytics applications), high-performance and dynamic storage is becoming a necessity. Support for high-performance data analysis is a key ingredient, especially in enterprise systems. To provide fast data access (and thereby quick analysis), many enterprise systems use Solid-State Disks (SSDs).
SSDs are typically made up of flash memory, which has emerged as an important technology for persistent data storage both for personal computers and enterprise systems. An SSD is typically read and written in units of pages. Each page is usually 2 k bytes to 4 k bytes. Several pages (e.g., 64-256 pages) form a block. In addition, Flash memory typically has a constraint that a block may be written only a certain number of times, after which the block becomes invalid. Wear-leveling schemes are provided in SSDs to increase the lifetime of blocks (and hence of the entire SSD).
While SSDs provide efficient read access, writes are more complex because in-place updates are not possible in flash memory. Therefore, SSD vendors normally ship SSDs with a layer called the Flash Translation Layer (FTL) that remaps every write to a different block/page and exposes an SSD as a standard block device (like a hard disk).
SSDs internally maintain translation tables to map received ‘logical’ addresses into actual ‘physical’ addresses. As applications run and access SSDs, the access pattern continuously results in changes to these translation tables. These tables can be at a block level, page level or hybrid (mix of block and page). A page-level translation scheme provides maximum lifetime of an SSD (but with increased memory overhead) whereas a block level translation (which occupies much less memory) will provide less lifetime. Hybrid schemes have been proposed as a mix of both these extremes to provide a better lifetime with less memory.